針對 Windows 作業系統的攻擊較常見,在發生資安事件時,數位鑑識需要先收集、保存、分析數位證據,以調查事件原因、追蹤攻擊者、評估損失和採取補救措施。
以下是一些需要進行 Windows 數位鑑識的常見情境:
在進行數位鑑識時,Windows 有哪一些有關使用者行為和系統事件的資訊:
LNK 檔案是 Windows 作業系統用來連結兩個檔案的機制,就像應用程式捷徑一樣,可以重新導向到檔案系統中應用程式所在的實際位置並執行。
透過分析 LNK 檔案,調查人員取得檔案的連結目標位置、建立日期、修改日期、最後存取日期以及檔案大小
這些資訊有助於了解使用者如何以及何時存取檔案,進而識別潛在的資料外洩或未經授權的存取行為
C:\Users\$USER$\AppData\Roaming\Microsoft\Windows\Recent
cd AppData\Roaming\Microsoft\Windows\Recent
dir
預讀檔案儲存有關程式執行情況的資訊,例如應用程式名稱、可執行檔路徑、上次執行時間,以及建立或安裝時間。這些檔案有助於調查人員了解哪些程式已在系統上使用,以及使用頻率。
下載檔案
https://ericzimmerman.github.io/#!index.md
dir C:\Windows\Prefetch
PECmd.exe -f "C:\Windows\Prefetch\7ZG.EXE-F49B3D46.pf"
PECmd 分析結果與資訊
跳躍清單儲存有關釘選到工作列之應用程式的資訊,包括檔案路徑、時間戳記和應用程式識別碼 (AppID)。這
些檔案可以協助調查人員重建使用者行為的時間軸,並識別經常使用的應用程式。
C:\Users\% USERNAME%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
瀏覽器儲存大量與使用者網路行為相關的資訊,例如瀏覽過的網站、存取時間、下載的檔案、搜尋查詢和快取的資料。
這些資訊對於調查網路相關事件 (例如資料外洩、惡意軟體感染或網路釣魚攻擊) 非常有價值。
Windows 事件記錄會記錄與各種系統行為相關的事件,包括使用者登入、檔案修改和系統錯誤。
eventvwr.msc
, 按 EnterGet-WinEvent -FilterHashtable @{LogName='Security';ID=4624} |
Select-Object -First 10 |
Select-Object TimeCreated,
@{Name='UserName';Expression={$_.Properties[5].Value}},
@{Name='LogonType';Expression={$_.Properties[8].Value}},
@{Name='Status';Expression={$_.Properties[8].Value}},
@{Name='SourceIP';Expression={$_.Properties[18].Value}} |
Format-List
資源回收筒儲存已刪除的檔案和資料夾,直到它們被永久刪除。
調查人員可以從資源回收筒中恢復已刪除的檔案,
以恢復可能已刪除的證據或分析使用者意圖。
C:\$Recycle.Bin
dir /a/s /b C:\$Recycle.Bin
RBCmd.exe -d C:\$Recycle.Bin --csv "C:\output"
# 建立輸出目錄(如果不存在)
$outputDir = "C:\output"
New-Item -Path $outputDir -ItemType Directory -Force | Out-Null
# 定義日誌文件路徑
$logFile = Join-Path $outputDir "RecycleBin_Analysis_Log.txt"
# 函數:寫入日誌
function Write-Log {
param([string]$message)
Add-Content -Path $logFile -Value "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss'): $message"
}
Write-Log "開始分析回收筒內容"
Get-ChildItem -Path "C:\`$Recycle.Bin" -Force -Recurse |
Where-Object { $_.Name -match '^\$R' } |
ForEach-Object {
try {
$deletedFile = $_
if ($null -eq $deletedFile.Name -or $deletedFile.Name.Length -lt 3) {
Write-Log "警告:檔案名稱無效 - $($deletedFile.FullName)"
return
}
$infoFileName = "$($deletedFile.Directory.FullName)\`$I$($deletedFile.Name.Substring(2))"
if (Test-Path $infoFileName) {
$originalPath = (Get-Content $infoFileName -Encoding Unicode -ErrorAction Stop)[0]
} else {
Write-Log "警告:找不到對應的資訊檔案 - $infoFileName"
$originalPath = "未知"
}
[PSCustomObject]@{
OriginalFileName = $originalPath
DeletedFileName = $deletedFile.FullName
Size = $deletedFile.Length
DeletedTime = $deletedFile.LastWriteTime
}
} catch {
Write-Log "錯誤處理檔案 $($deletedFile.FullName): $_"
}
} |
Export-Csv -Path (Join-Path $outputDir "RecycleBin_Contents.csv") -NoTypeInformation
Write-Log "分析完成。結果已導出到 $outputDir\RecycleBin_Contents.csv"
Write-Host "分析完成。請查看 $outputDir 目錄下的 CSV 文件和日誌文件。"
透過分析這些數位鑑識檔案,調查人員可以收集有關使用者行為、系統事件和潛在惡意行為的證據。對這些檔案類型的全面了解對於在 Windows 作業系統上進行徹底的數位鑑識調查很重要。
在 Windows 數位鑑識中,以下哪種檔案類型不包含使用者最近存取檔案的資訊?
A) LNK 檔案
B) 預讀檔案
C) 跳躍清單檔案
D) 系統登錄檔
答案: D
解析: LNK 檔案、預讀檔案和跳躍清單檔案都包含有關使用者最近存取檔案的資訊。系統登錄檔雖然包含重要的系統設定資訊,但不直接記錄使用者最近存取的檔案。
下列哪個工具最適合用來分析 Windows 預讀檔案?
A) JumpList Explorer
B) Browser History Viewer
C) PECmd
D) RBCmd
答案: C
解析: PECmd (Prefetch Explorer Command Line) 是專門用來分析 Windows 預讀檔案的工具。JumpList Explorer 用於跳躍清單,Browser History Viewer 用於瀏覽器歷史,RBCmd 用於回收筒分析。
在進行 Windows 數位鑑識時,以下哪種情況不需要進行數位鑑識調查?
A) 懷疑發生資料外洩
B) 系統例行性軟體更新
C) 員工離職時的資料檢查
D) 系統遭受勒索軟體攻擊
答案: B
解析: 系統例行性軟體更新是正常的維護操作,通常不需要進行數位鑑識調查。其他選項如資料外洩懷疑、員工離職檢查和勒索軟體攻擊都是可能需要進行數位鑑識的情況。
使用 PowerShell 分析 Windows 事件日誌時,以下哪個命令可以用來查詢成功登入事件?
A) Get-WinEvent -LogName Security
B) Get-EventLog -LogName Security
C) Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624}
D) Get-EventLog -FilterHashtable @{LogName='Security';ID=4624}
答案: C
解析: Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} 是正確的 PowerShell 命令,用於查詢 Security 日誌中 ID 為 4624 的成功登入事件。
在分析資源回收筒時,檔案名稱以什麼開頭的檔案包含被刪除檔案的原始資訊?
A) $R
B) $I
C) $D
D) $S
答案: B
解析: 在資源回收筒中,$I 開頭的檔案包含被刪除檔案的原始路徑、大小和刪除時間等資訊。$R 開頭的檔案是被刪除的實際檔案內容。